package com.service.user;

import com.dao.NoticeDao;
import com.entity.Notice;

import java.util.List;

/**  */
public interface NoticeService {
  /**
   * 获取用户的所有
   *
   * @param userId 用户编号
   * @return 通知列表
   */
  List<Notice> getAllNotices(String userId, Integer status, Integer pageSize, Integer pageIndex);

  /**
   * 添加一条通知
   *
   * @param userId 用户编号
   * @param kind 通知种类
   * @param template 通知模板
   * @param status 通知初始状态
   * @param params 参数列表
   * @return 1/0
   */
  int addNotice(String userId, int kind, String template, int status, Object... params);

  /**
   * 间接调用insertNotice
   *
   * @param dao noticeDao
   * @param userId 用户编号
   * @param kind 类别
   * @param template 模板
   * @param status 初始状态
   * @param params 参数列表
   * @return insert的返回值
   */
  default int insertHelper(
      NoticeDao dao, String userId, int kind, String template, int status, Object... params) {
    Object[] temp = new Object[10];
    System.arraycopy(params, 0, temp, 0, params.length);
    return dao.insertNotice(
        userId, kind, template, status, temp[0], temp[1], temp[2], temp[3], temp[4], temp[5],
        temp[6], temp[7], temp[8], temp[9]);
  }
}
